import request from '@/utils/request'
import { ADMIN } from '@/config/baseUrl'

/**
 * 获取通用导入模板树
 * @returns
 */
export function getImportingTree() {
  return request({
    url: `${ADMIN}/general-import-template/listTree`,
    method: 'get'
  })
}

/**
 * 获取模板中分组节点的详情
 * @returns
 */
export function getTreeNodeData(id) {
  return request({
    url: `${ADMIN}/general-import-template/getTreeData`,
    method: 'get',
    params:{
      id
    }
  })
}

/**
 * 保存节点（新增/编辑分组）
 * @param {
 * "id": 12, 有则为修改，没有则为新增
 * "parentId": 2,
 * "nodeCode": "0003",
 * "nodeName": "测试模板22",
 * "nodeType": 1,
 * "orderNo": 2
 * } data 
 * @returns 
 */
export function saveTreeNode(data) {
  return request({
    url: `${ADMIN}/general-import-template/saveTreeData`,
    method: 'post',
    data
  })
}

/**
 * 获取模板的包含字段列表
 * @param {*} current 页码
 * @param {*} size 每页条数
 * @returns 
 */
export function getTables(current, size, keyword='') {
  return request({
    url: `${ADMIN}/general-import-template/getTableList`,
    method: 'post',
    params: {
      keyword
    },
    data: {
      current,
      size
    }
  })
}

/**
 * 根据表名获取该表字段(分页)
 * @param {*} tableName 表名
 * @param {*} current 页码
 * @param {*} size 每页条数
 * @returns 
 */
export function getFieldListByTable(tableName, current, size, keyword='') {
  return request({
    url: `${ADMIN}/general-import-template/getFieldList`,
    method: 'post',
    params: {
      tableName,
      keyword
    },
    data: {
      current,
      size
    }
  })
}

/**
 * 根据表名获取改表字段(所有)
 * @param {*} tableName 表名
 * @param {*} current 页码
 * @param {*} size 每页条数
 * @returns 
 */
export function getAllFieldListByTable(tableName) {
  return request({
    url: `${ADMIN}/general-import-template/getAllFieldList`,
    method: 'post',
    params: {
      tableName
    }
  })
}

/**
 * 获取模板信息
 * @param {*} id 模板id
 * @returns 
 */
export function getTemplateInfo(id) {
  return request({
    url: `${ADMIN}/general-import-template/getTemplateInfo`,
    method: 'get',
    params: {
      treeId: id
    }
  })
}

/**
 * 保存模板信息
 * @param {*} data 
 * @returns 
 */
export function saveTemplateInfo(data) {
  return request({
    url: `${ADMIN}/general-import-template/saveTemplate`,
    method: 'post',
    data
  })
}

/**
 * 删除分组
 * @param {*} treeId 
 * @returns 
 */
export function deleteGroup(treeId) {
  return request({
    url: `${ADMIN}/general-import-template/deleteTree`,
    method: 'delete',
    params: {
      treeId
    }
  })
}

/**
 * 删除分组
 * @param {*} treeId 
 * @returns 
 */
export function deleteTemplate(treeId, tableId) {
  return request({
    url: `${ADMIN}/general-import-template/deleteTemplate`,
    method: 'delete',
    params: {
      treeId,
      tableId
    }
  })
}
